1. Field of the Invention
The present invention relates to a signal processing unit and signal processing method for data in floating point format which calculate the p-th power of v (v^p), and to a program product for implementing the method.
2. Discussion of the Related Art
In Japanese Unexamined Patent Publication No. 11-288365, the present inventors have described the structure of an exponential calculation device. The device, when the input value x is an integer, calculates the value of x^(4/3), for example, with an economical circuit structure and at high speed. In that proposal, the range of variation of the input value x is, for example, greater than or equal to 0 and less than 8192. For this type of input value x, the value of X^({fraction (4/3)}) is calculated as follows.
First, as shown in FIG. 1, a decision is made as to whether or not the input value x is less than or equal to 1023. If the value of x is less than or equal to 1023, then the value of a variable x′ is set to be equal to x, while if it is not then x′ is set to be equal to {fraction (x/8)}. In other words, the value of x′, at this stage, becomes x′ less than or equal to 1023. The value of x′ set in this manner is used as an address for looking up a ROM table. As shown in FIG. 2, the {fraction (4/3)} powers of values of x′ from 0 to 1023 are stored in this ROM table.
Thus, looking up from this type of ROM table using x′as an address, and the data value at the address obtained will be termed y′. If the original input value x was a value less than or equal to 1023, then y is set to be equal to y′, while otherwise y is set to be equal to y*16. The value y obtained by this calculation is the required value of x^({fraction (4/3)}).
By doing this it is possible to calculate the exponential of an input value—provided that it is an integer with an economical circuit structure and at high speed. However, with this type of method, it is a premise that the input value is an integer, and therefore the problem remains that this method is inapplicable if the input value is an item of floating point data.
Moreover although it is possible, after performing type conversion of an item of floating point data which has been inputted to an integer, to calculate its exponential with the structure according to the prior art described above. In this case, the extra procedure of converting floating point data to an integer is entailed, and furthermore there is the problem that a loss of calculation accuracy is caused by such a type conversion procedure.
Although in AAC (Advanced Audio Coding) procedures for example, it is necessary to perform procedures for converting real numbers into integers so as to compress symbolic data. In order to do this, memory for storing various floating point data items and memory for storing various integer data items is required, and a complicated structure, such as a main processor and a co-processor and the like, becomes necessary in order to perform conversion of floating point data values into decimal fractions.